/*
 * Race.h
 *
 *  Created on: Dec 31, 2008
 *      Author: sez
 */

#ifndef RACE_H_
#define RACE_H_

#include "DndData.h"
#include "Power.h"
#include "Trait.h"
#include "TitledData.h"

#include <QString>

class Race : public TitledData
{
public:
    Race(const QString &newTitle = QString());
    Race(const Race &);
    virtual ~Race();
    void loadFromXml();
    void saveToXml() const;
    QString description() const { return raceSummary; }
    Race &operator=(const Race &);

    int heightMin;
    int heightMax;
    int weightMin;
    int weightMax;
    QList<DndData::Ability> abilityBonus;
    DndData::BodySize size;
    int speed;
    DndData::VisionType vision;
    QList<DndData::Language> language;
    QList<DndData::SkillTypes> skillBonus;
    QList<Trait> traits;
    QList<Power> powers;
    QString raceSummary;
    QString raceDescription;
};

#endif /* RACE_H_ */
